import { IPSDELogicNodeParamBase } from './ipsdelogic-node-param-base';
import { IPSDEUILogicParam } from './ipsdeuilogic-param';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSDEUILogicNodeParam
 */
export interface IPSDEUILogicNodeParam extends IPSDELogicNodeParamBase {
  /**
   * 目标逻辑参数
   *
   * @type {IPSDEUILogicParam}
   */
  getDstPSDEUILogicParam(): IPSDEUILogicParam | null;

  /**
   * 目标逻辑参数
   *
   * @type {IPSDEUILogicParam}
   */
  get dstPSDEUILogicParam(): IPSDEUILogicParam | null;

  /**
   * 目标逻辑参数（必须存在）
   *
   * @type {IPSDEUILogicParam}
   */
  getDstPSDEUILogicParamMust(): IPSDEUILogicParam;

  /**
   * 表达式
   * @type {string}
   */
  expression: string;

  /**
   * 源逻辑参数
   *
   * @type {IPSDEUILogicParam}
   */
  getSrcPSDEUILogicParam(): IPSDEUILogicParam | null;

  /**
   * 源逻辑参数
   *
   * @type {IPSDEUILogicParam}
   */
  get srcPSDEUILogicParam(): IPSDEUILogicParam | null;

  /**
   * 源逻辑参数（必须存在）
   *
   * @type {IPSDEUILogicParam}
   */
  getSrcPSDEUILogicParamMust(): IPSDEUILogicParam;
}
